home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 4_2005-2006.ISO / data / Zips / database_m2013108132006.psc / DB Manager / FrmQuery.frm < prev    next >
Text File  |  2006-02-05  |  11KB  |  397 lines

  1. VERSION 5.00
  2. Begin VB.Form FrmQuery 
  3.    BorderStyle     =   3  'Fixed Dialog
  4.    Caption         =   "Query Builder"
  5.    ClientHeight    =   6510
  6.    ClientLeft      =   2415
  7.    ClientTop       =   1995
  8.    ClientWidth     =   7710
  9.    LinkTopic       =   "Form1"
  10.    MaxButton       =   0   'False
  11.    MinButton       =   0   'False
  12.    ScaleHeight     =   6510
  13.    ScaleWidth      =   7710
  14.    ShowInTaskbar   =   0   'False
  15.    Begin VB.CommandButton CmdOr 
  16.       Caption         =   "Or into Criteria"
  17.       Height          =   375
  18.       Left            =   2760
  19.       TabIndex        =   21
  20.       Top             =   840
  21.       Width           =   1935
  22.    End
  23.    Begin VB.CommandButton CmdAnd 
  24.       Caption         =   "And  into Criteria"
  25.       Height          =   375
  26.       Left            =   480
  27.       TabIndex        =   20
  28.       Top             =   840
  29.       Width           =   1935
  30.    End
  31.    Begin VB.CommandButton CmdClose 
  32.       Caption         =   "Close"
  33.       Height          =   375
  34.       Left            =   5280
  35.       TabIndex        =   19
  36.       Top             =   6000
  37.       Width           =   1335
  38.    End
  39.    Begin VB.CommandButton CmdClear 
  40.       Caption         =   "Clear"
  41.       Height          =   375
  42.       Left            =   3840
  43.       TabIndex        =   18
  44.       Top             =   6000
  45.       Width           =   1335
  46.    End
  47.    Begin VB.CommandButton CmdSave 
  48.       Caption         =   "Save"
  49.       Height          =   375
  50.       Left            =   2400
  51.       TabIndex        =   17
  52.       Top             =   6000
  53.       Width           =   1335
  54.    End
  55.    Begin VB.CommandButton CmdRun 
  56.       Caption         =   "Run"
  57.       Height          =   375
  58.       Left            =   960
  59.       TabIndex        =   16
  60.       Top             =   6000
  61.       Width           =   1335
  62.    End
  63.    Begin VB.TextBox TxtStatment 
  64.       Height          =   1455
  65.       Left            =   120
  66.       Locked          =   -1  'True
  67.       MultiLine       =   -1  'True
  68.       ScrollBars      =   2  'Vertical
  69.       TabIndex        =   14
  70.       Top             =   4440
  71.       Width           =   7335
  72.    End
  73.    Begin VB.OptionButton OptDesc 
  74.       Caption         =   "Desc"
  75.       Height          =   255
  76.       Left            =   5880
  77.       TabIndex        =   12
  78.       Top             =   2280
  79.       Width           =   735
  80.    End
  81.    Begin VB.OptionButton OptAsc 
  82.       Caption         =   "Asc"
  83.       Height          =   255
  84.       Left            =   5160
  85.       TabIndex        =   11
  86.       Top             =   2280
  87.       Value           =   -1  'True
  88.       Width           =   615
  89.    End
  90.    Begin VB.ComboBox CmbOrderBy 
  91.       Height          =   315
  92.       Left            =   5040
  93.       Style           =   2  'Dropdown List
  94.       TabIndex        =   10
  95.       Top             =   1800
  96.       Width           =   2175
  97.    End
  98.    Begin VB.ListBox LstFields 
  99.       Height          =   2205
  100.       ItemData        =   "FrmQuery.frx":0000
  101.       Left            =   2640
  102.       List            =   "FrmQuery.frx":0002
  103.       MultiSelect     =   2  'Extended
  104.       TabIndex        =   8
  105.       Top             =   1800
  106.       Width           =   2055
  107.    End
  108.    Begin VB.ListBox LstTables 
  109.       Height          =   2205
  110.       ItemData        =   "FrmQuery.frx":0004
  111.       Left            =   360
  112.       List            =   "FrmQuery.frx":0006
  113.       TabIndex        =   6
  114.       Top             =   1800
  115.       Width           =   2055
  116.    End
  117.    Begin VB.TextBox TxtValue 
  118.       Height          =   300
  119.       Left            =   5040
  120.       MaxLength       =   15
  121.       TabIndex        =   3
  122.       Top             =   360
  123.       Width           =   2175
  124.    End
  125.    Begin VB.ComboBox CmbOperation 
  126.       Height          =   315
  127.       ItemData        =   "FrmQuery.frx":0008
  128.       Left            =   2760
  129.       List            =   "FrmQuery.frx":001E
  130.       Style           =   2  'Dropdown List
  131.       TabIndex        =   2
  132.       Top             =   360
  133.       Width           =   1935
  134.    End
  135.    Begin VB.ComboBox CmbFieldsName 
  136.       Height          =   315
  137.       Left            =   480
  138.       Style           =   2  'Dropdown List
  139.       TabIndex        =   0
  140.       Top             =   360
  141.       Width           =   1935
  142.    End
  143.    Begin VB.Label Label8 
  144.       Caption         =   "Criteria :"
  145.       Height          =   255
  146.       Left            =   120
  147.       TabIndex        =   15
  148.       Top             =   4200
  149.       Width           =   1695
  150.    End
  151.    Begin VB.Label Label7 
  152.       Caption         =   "Order By :"
  153.       Height          =   255
  154.       Left            =   5040
  155.       TabIndex        =   13
  156.       Top             =   1560
  157.       Width           =   735
  158.    End
  159.    Begin VB.Label Label5 
  160.       Caption         =   "Fields to Show :"
  161.       Height          =   255
  162.       Left            =   2640
  163.       TabIndex        =   9
  164.       Top             =   1560
  165.       Width           =   1935
  166.    End
  167.    Begin VB.Label Label4 
  168.       Caption         =   "Tables :"
  169.       Height          =   255
  170.       Left            =   360
  171.       TabIndex        =   7
  172.       Top             =   1560
  173.       Width           =   2055
  174.    End
  175.    Begin VB.Label Label3 
  176.       Caption         =   "Value :"
  177.       Height          =   255
  178.       Left            =   4800
  179.       TabIndex        =   5
  180.       Top             =   120
  181.       Width           =   2415
  182.    End
  183.    Begin VB.Label Label2 
  184.       Caption         =   "Operation :"
  185.       Height          =   255
  186.       Left            =   2640
  187.       TabIndex        =   4
  188.       Top             =   120
  189.       Width           =   1935
  190.    End
  191.    Begin VB.Label Label1 
  192.       Caption         =   "Fields Name :"
  193.       Height          =   255
  194.       Left            =   360
  195.       TabIndex        =   1
  196.       Top             =   120
  197.       Width           =   1935
  198.    End
  199. End
  200. Attribute VB_Name = "FrmQuery"
  201. Attribute VB_GlobalNameSpace = False
  202. Attribute VB_Creatable = False
  203. Attribute VB_PredeclaredId = True
  204. Attribute VB_Exposed = False
  205. Option Explicit
  206. '
  207. Dim bln As Boolean
  208. Dim strSQL As String
  209. Dim strFields As String
  210. Dim SQLToSave As String
  211. '
  212. '
  213. Private Sub Form_Load()
  214.    '
  215.    Dim db As Database
  216.    Dim tb As TableDef
  217.    '
  218.    Set db = DBEngine.OpenDatabase(MDIManager.strFileName)
  219.    '
  220.    For Each tb In db.TableDefs
  221.       If Left$(tb.Name, 4) <> "MSys" Then
  222.          LstTables.AddItem (tb.Name)
  223.       End If
  224.    Next
  225.    '
  226.    db.Close
  227.    Set db = Nothing
  228.    '
  229.    CmbOperation.ListIndex = 0
  230.    TxtStatment.Text = Empty
  231.    TxtValue.Text = Empty
  232.    
  233.    '
  234. End Sub
  235.  
  236. Private Sub LstTables_Click()
  237.    '
  238.    Dim db As Database
  239.    Dim tb As TableDef
  240.    Dim fl As Field
  241.    '
  242.    LstFields.Clear
  243.    CmbFieldsName.Clear
  244.    CmbOrderBy.Clear
  245.    '
  246.    If LstTables.ListIndex <> -1 Then
  247.       Set db = DBEngine.OpenDatabase(MDIManager.strFileName)
  248.       Set tb = db.TableDefs(LstTables.Text)
  249.       For Each fl In tb.Fields
  250.          LstFields.AddItem (tb.Name & "." & fl.Name)
  251.          CmbFieldsName.AddItem (tb.Name & "." & fl.Name)
  252.          CmbOrderBy.AddItem (tb.Name & "." & fl.Name)
  253.       Next
  254.       '
  255.       db.Close
  256.       Set db = Nothing
  257.       Set tb = Nothing
  258.       '
  259.       CmbFieldsName.ListIndex = 0
  260.       CmbOrderBy.ListIndex = 0
  261.    End If
  262.    '
  263. End Sub
  264.  
  265. Private Sub CmdAnd_Click()
  266.    '
  267.    If bln = False Then
  268.       TxtStatment.Text = CmbFieldsName.Text & CmbOperation.Text & "'" & TxtValue.Text & "'"
  269.       bln = True
  270.    Else
  271.       TxtStatment.Text = TxtStatment.Text & " AND " & CmbFieldsName.Text & CmbOperation.Text & "'" & TxtValue.Text & "'"
  272.    End If
  273.    '
  274. End Sub
  275.  
  276. Private Sub CmdOr_Click()
  277.    '
  278.    If bln = False Then
  279.       TxtStatment.Text = CmbFieldsName.Text & CmbOperation.Text & "'" & TxtValue.Text & "'"
  280.       bln = True
  281.    Else
  282.       TxtStatment.Text = TxtStatment.Text & " OR " & CmbFieldsName.Text & CmbOperation.Text & "'" & TxtValue.Text & "'"
  283.    End If
  284.    '
  285. End Sub
  286.  
  287. Private Sub CmdRun_Click()
  288.    '
  289.    ' Handle error
  290.    On Error GoTo ErrHandler
  291.    '
  292.    Dim I As Integer
  293.    Dim Cnt As Byte
  294.    Dim strOrderBy As String
  295.    '
  296.    Cnt = 0
  297.    strFields = Empty
  298.    '
  299.    If TxtStatment.Text = Empty Then
  300.       MsgBox "Please Enter Criteria", vbInformation, "Database Manager"
  301.       Exit Sub
  302.    End If
  303.    '
  304.    For I = 0 To LstFields.ListCount - 1
  305.       If LstFields.Selected(I) = True Then
  306.          Cnt = Cnt + 1
  307.          If Cnt > 1 Then
  308.             strFields = strFields & "," & LstFields.List(I)
  309.          Else
  310.             strFields = LstFields.List(I)
  311.          End If
  312.       End If
  313.    Next
  314.    '
  315.    If Cnt = 0 Then
  316.       strFields = "*"
  317.    End If
  318.    '
  319.    If OptAsc.Value = True Then
  320.       strOrderBy = " ASC"
  321.    Else
  322.       strOrderBy = " DESC"
  323.    End If
  324.    '
  325.    strSQL = "SELECT " & strFields & " FROM " & LstTables.Text & " WHERE " & TxtStatment & " ORDER BY " & CmbOrderBy.Text & strOrderBy
  326.    '
  327.    With FrmShowData
  328.       .Data1.DatabaseName = MDIManager.strFileName
  329.       .Data1.RecordSource = strSQL
  330.       .Data1.Refresh
  331.       .FlexGrid.Refresh
  332.       .Caption = strSQL
  333.    End With
  334.    '
  335.    FrmShowData.Show (vbModal)
  336.    '
  337.    SQLToSave = strSQL
  338.    strSQL = Empty
  339.    '
  340.    Exit Sub
  341.    '
  342. ErrHandler:
  343.    '
  344.    ' Error handler
  345.    MsgBox "Number : " & Err.Number & vbCrLf & _
  346.           "Description : " & Err.Description, vbCritical, "Database Manager"
  347.    strSQL = Empty
  348.    '
  349. End Sub
  350.  
  351. Private Sub CmdSave_Click()
  352.    '
  353.    Dim db As Database
  354.    Dim qd As QueryDef
  355.    '
  356.    Dim QueryName As String
  357.    '
  358.    If SQLToSave = Empty Then
  359.       MsgBox "There isn't Any Query", vbInformation, "Database Manager"
  360.       Exit Sub
  361.    End If
  362.    '
  363.    QueryName = InputBox("Enter Query Name : ", "Save Query", "DefultName")
  364.    '
  365.    If QueryName = Empty Then
  366.       Exit Sub
  367.    Else
  368.       Set db = DBEngine.OpenDatabase(MDIManager.strFileName)
  369.       Set qd = db.CreateQueryDef(QueryName, SQLToSave)
  370.       MsgBox "Query Saved", vbInformation, "Database Manager"
  371.       '
  372.       db.Close
  373.       Set db = Nothing
  374.       Set qd = Nothing
  375.    End If
  376.    '
  377. End Sub
  378.  
  379. Private Sub CmdClear_Click()
  380.    '
  381.    ' Reset TextBoxes and general variables
  382.    TxtStatment.Text = Empty
  383.    TxtValue.Text = Empty
  384.    strSQL = Empty
  385.    SQLToSave = Empty
  386.    strFields = Empty
  387.    bln = False
  388.    '
  389. End Sub
  390.  
  391. Private Sub CmdClose_Click()
  392.    '
  393.    Unload Me
  394.    '
  395. End Sub
  396.  
  397.